﻿using System;
using System.Collections.Generic;
using System.Text;

namespace daSemanticAnalyser.SemanticTree
{
    using daSyntaxAnalyser.SyntaxTree;

    /// <summary>
    /// Элемент семантического дерева
    /// </summary>
    public class SemanticTreeElement : IChildSemanticElement
    {
        private IChildSemanticElement parent;

        private ISyntaxTreeElement syntaxelement;

        /// <summary>
        /// Родитель элемента семантического дерева
        /// </summary>
        public IChildSemanticElement Parent { get { return parent; } set { parent = value; } }

        /// <summary>
        /// Соответствующий элемент синтаксического дерева
        /// </summary>
        public ISyntaxTreeElement SyntaxElement { get { return syntaxelement; } set { syntaxelement = value; } }

        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="Parent">родитель элемента семантического дерева</param>
        /// <param name="SyntaxElement">соответствующий элемент синтаксического дерева</param>
        public SemanticTreeElement(IChildSemanticElement Parent, ISyntaxTreeElement SyntaxElement)
        {
            parent = Parent;
            syntaxelement = SyntaxElement;
        }
    }
}
